// 可以根据路由模式的不同，后面俩可以只引用一个
import { createRouter, createWebHistory, createWebHashHistory } from 'vue-router'
import routes from './routes.js'
import Cookies from 'js-cookie'
import NProgress from "nprogress"
import "nprogress/nprogress.css"

const router = createRouter({
  // 使用 hash 模式构建路由（ url中带 # 号的那种)
  //history: createWebHashHistory(),
  // 使用 history 模式构建路由 （ url 中没有 # 号，但生产环境需要特殊配置）
  history: createWebHistory(),
  routes
})

// 登录之前做一个判断 ,判断它进入其它页面有没有先登录
router.beforeEach(async (to, from, next) => {
  //配置路由加载动画效果
  NProgress.start();
  // 验证权限，判断有没有登录
  const isLogin = Cookies.get("token") ? true : false;
  // 如果当前访问的是登录页面或者注册页面可以让它进入
  if (to.path == '/login' || to.path == "/register") {
    next()
  } else {
    // 如果isLogin为true表示已经登录了;就让它正常进入就可以 ,如果没登录就让他进入登录页面
    isLogin ? next() : next('/')
  }
})

router.afterEach((to, from) => {
  NProgress.done();
})

export default router
